package newx.com.control
{
	public interface IButton extends IControl
	{
		/**
		 * 设置按钮文本（默认Button）。
		 * */
		function get label():String;
		function set label(val:String):void;
		
		/**
		 * 获取用于按钮皮肤的资源绑定名（默认null，当设置为“”时等同null）
		 * 当按钮未设置皮肤时，将自动将按钮的所有状态填充为0x0033FF
		 * */
		function get skin():String;		
		function set skin(val:String):void;
		
		/**
		 * 按钮背景宽度。
		 * */
		function get skinWidth():uint;
		function set skinWidth(val:uint):void;
		
		/**
		 * 按钮背景高度。
		 * */
		function get skinHeight():uint;
		function set skinHeight(val:uint):void;
		
		/**
		 * 一个布尔值，是否根据文本大小缩放按钮皮肤（如果有）
		 * */
		function get autoSkinScale():Boolean;
		function set autoSkinScale(val:Boolean):void;
		
		/**
		 * 设置文字的水平定位方式（水平居左，水平居右，水平居中）
		 * */		
		function get horizontalLayout():String;
		function set horizontalLayout(val:String):void;
		
		/**
		 * 设置文字的垂直定位方式（垂直顶端，垂直低端，垂直居中）
		 * */		
		function get verticalLayout():String;
		function set verticalLayout(val:String):void;
		
		/**
		 * 文本相对皮肤沿x方向的偏移量。
		 * */
		function get offsizeX():int;
		function set offsizeX(val:int):void;
		
		/**
		 * 文本相对皮肤沿y方向的偏移量。
		 * */
		function get offsizeY():int;
		function set offsizeY(val:int):void;
		
		/**
		 * 作为内容加载的 URL、对象、类或类的字符串名称。 
		 * */		
		function get icon():Object;
		function set icon(val:Object):void;
		
		/**
		 * 此属性包含表示在控件中加载的图标的内容或直接添加的对象 
		 * */		
		function get iconContent():IClip;
		
		/**
		 * 设置按钮文本颜色（默认0xFFCC00）
		 * */
		function get labelColor():uint;		
		function set labelColor(val:uint):void;
		
		/**
		 * 按钮当前状态，包括：<br>
		 * 一般状态 - NxButtonState.NORMAL,<br>
		 * 鼠标经过状态 - NxButtonState.OVER,<br>
		 * 鼠标按下状态 - NxButtonState.DOWN,<br>
		 * 禁用状态 - NxButtonState.UNALLOWED<br>
		 * */
		function get currentState():String;
		function set currentState(value:String):void;
		
		/**
		 * 设置按钮是否可用（默认true），当不可用时，
		 * 按钮不派发任何事件，并显示为禁用状态
		 * */
		function get enabled():Boolean;		
		function set enabled(val:Boolean):void;
		
		/**
		 * 已经废弃，推荐使用autoSkinScale。
		 * */
		function get autoSize():Boolean;		
		function set autoSize(val:Boolean):void;
		
		/**
		 * 已经废弃，推荐使用offsizeX
		 * */
		function get horizontalOffSize():uint
		function set horizontalOffSize(val:uint):void;
		
		/**
		 * 已经废弃，推荐使用offsizeY
		 * */
		function get verticalOffSize():uint
		function set verticalOffSize(val:uint):void;
	}
}